/**
 * 星星装饰类，继承自Entity类，用于在游戏中渲染星星装饰。
 */
class Stars extends Entity {

    /**
     * 构造函数，初始化星星装饰。
     */
    constructor() {
        super();
        // 创建一个随机数生成器实例，用于生成星星的位置
        this.rng = new RNG();
    }

        /**
     * 渲染星星装饰。
     * @param {object} camera - 当前相机实体，用于确定渲染位置。
     */
    render(camera) {
        // 根据相机位置平移画布
        ctx.translate(~~camera.x - CANVAS_WIDTH / 2, ~~camera.y - CANVAS_HEIGHT / 2);

        // 设置星星的填充颜色为白色
        ctx.fillStyle = 'white';

        // 重置随机数生成器
        this.rng.reset();
        // 循环生成并绘制100颗星星
        for (let i = 0 ; i < 100 ; i++)  {
            ctx.fillRect(
                // 随机生成星星的X坐标
                this.rng.next(0, CANVAS_WIDTH),
                // 随机生成星星的Y坐标
                this.rng.next(0, CANVAS_HEIGHT),
                // 星星的宽度
                1,
                // 星星的高度
                1,
            );
        }
    }
}
